var temp_arr;
var cache_output;
var cache_words;
var cache_phrases;
var cache_temp_arr = []
var count_w = 0;
$(document).ready(function(){
// fetch('text.txt')
// .then(response => response.text())
// .then(text => $('#inputData').val(text));
var arr = [];
var amz_icon = '
';
var trslt_icon = '
';
var arrow = '';
var link_arrow = '' + arrow + '';
//Button Start onClick
$('#start').on('click', function(){
$('#output').empty();
$('#history').empty();
$('#phrases').empty();
arr = $('#inputData').val().split('\n');
let unq = [];
$.each(arr, (i, el) =>{
if ($.inArray(el, unq) === -1) {
el = el.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
unq.push(el);
};
})
temp_arr = unq.slice(0);
let count = arr.length;
let diff = arr.length;
arr = unq.slice(0);
diff -= arr.length;
let closeButton = '';
$('#excess-data').val().split('\n').forEach((item) =>{
if(item){
let re = new RegExp('(\\s|^)+' + item.trim() + '+(\\s|$)', 'gm');
arr.forEach((str, index) =>{
if(str.search(re) != -1){
arr.splice(index, 1, "");
let link = 'https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=' + str.replace(/\s/g, '+');
let link_translate = 'https://translate.google.com/?hl=ru#en/ru/' + str;
let translate_module = '' + trslt_icon + '';
$('#phrases').append('
' +amz_icon + '' + translate_module + str + closeButton + '');
// $('#phrases').append('' + str + closeButton + '')
}
})
$('#history').append('' + item+ '' + closeButton + '');
// $('#history').append('' + item + closeButton + '');
}
})
arr.forEach(function(str, index){
if(str != ""){
let link = 'https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=' + str.replace(/\s/g, '+');
let link_translate = 'https://translate.google.com/?hl=ru#en/ru/' + str;
let translate_module = '' + trslt_icon + '';
var line = '' +amz_icon + '' + translate_module + '';
let words = str.split(' ');
words.forEach(elem => {
line += ''+elem+' ' + '';
})
line +=' ' + link_arrow + '
';
$('#output').append(line);
}
});
$(this).prop("disabled",true);
$('#inputData').prop("disabled", true);
$('#excess-data').prop("disabled", true);
$('#input-block .trash').prop("disabled", true);
// $(this).attr('disabled', '1');
$('#input-block .badge').text(count + ' ('+ diff +')');
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_words = $('#history li').length;
$('#words-block h3 span').text(col_words);
let col_phrases = $('#phrases li').length;
$('#phrases-block h3 span').text(col_phrases);
cache_output = $('#output li');
});
let idx_del = -1;
let searchWordShift = [];
// Delete alone words
$('#alone').click(function(){
cache_output = $('#output li');
let t = [];
arr.forEach(function(el){
if(el.split(' ').length > 1){
t.push(el);
}
})
arr = t.slice(0);
$('#output').empty();
temp_arr = arr.slice(0);
arr.forEach(function(str, index){
if(str != ""){
let link = 'https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=' + str.replace(/\s/g, '+');
let link_translate = 'https://translate.google.com/?hl=ru#en/ru/' + str;
let translate_module = '' + trslt_icon + '';
var line = '' +amz_icon + '' + translate_module + '';
let words = str.split(' ');
words.forEach(elem => {
line += ''+elem+' ' + '';
})
line +=' ' + link_arrow + '
';
$('#output').append(line);
}
});
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
$('#alone').prop("disabled", true);
});
// Clear searchWord
$(document).keyup((event) =>{
if(event.keyCode == 17 || event.wich == 17){
let searchWord = searchWordShift.slice(0);
let closeButton = '';
let style = '';
let sel = 'false';
let deleteArr = [];
if (count_w != 0){
style = 'style="font-weight: bold"';
sel = 'true';
}
if(idx_del !== -1){
$.each(searchWord, (idx, elem)=>{
$('#history').append('' + elem + '' + closeButton + '');
for(var i=0; i' + trslt_icon + '';
$('#phrases').append('' +amz_icon + '' + translate_module + temp_arr[i] + closeButton + '');
if(idx_del != i){
deleteArr.push(i);
}
else{
temp_arr.splice(i, 1, "");
}
}
}
deleteArr.reverse();
deleteArr.forEach(function(item){
$('li.' + item.toString()).remove();
temp_arr.splice(item, 1, "");
});
});
$('li.' + idx_del.toString()).remove();
idx_del = -1;
}
searchWordShift = [];
}
if(event.keyCode == 16 || event.wich == 16){
let searchWord = searchWordShift.join(' ');
let closeButton = '';
let style = '';
let sel = 'false';
let deleteArr = [];
if (count_w != 0){
style = 'style="font-weight: bold"';
sel = 'true';
}
if (searchWord.length > 0){
$('#history').append('' + searchWord + '' + closeButton + '');
for(var i=0; i' + trslt_icon + '';
$('#phrases').append('' +amz_icon + '' + translate_module + temp_arr[i] + closeButton + '');
deleteArr.push(i);
}
}
deleteArr.reverse();
deleteArr.forEach(function(item){
$('li.' + item.toString()).remove();
temp_arr.splice(item, 1, "");
});
searchWordShift = [];
}
}
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_words = $('#history li').length;
$('#words-block h3 span').text(col_words);
let col_phrases = $('#phrases li').length;
$('#phrases-block h3 span').text(col_phrases);
})
//Output wordsClick
$('#output').on('click', 'li span', function(event){
cache_output = $('#output li');
cache_words = $('#history li');
cache_phrases = $('#phrases li');
cache_temp_arr = temp_arr.slice(0);
let deleteArr = [];
idx_del = -1;
let searchWord = [];
// let searchWordShift = '';
let closeButton = '';
let style = '';
let sel = 'false';
if (count_w != 0){
style = 'style="font-weight: bold"';
sel = 'true';
}
if(event.ctrlKey){
searchWordShift.push($(this).text().trim());
let cls_ = $(this).closest('li').attr('class');
cls_ = cls_.split(' ');
idx_del = cls_[2];
}
else if (event.shiftKey){
let cls_ = $(this).closest('li').attr('class');
cls_ = cls_.split(' ');
idx_del = cls_[2];
searchWordShift.push($(this).text().trim());
}
else{
searchWord.push($(this).text().trim());
$.each(searchWord, (idx, elem)=>{
$('#history').append('' + elem + '' + closeButton + '');
for(var i=0; i' + trslt_icon + '';
$('#phrases').append('' +amz_icon + '' + translate_module + temp_arr[i] + closeButton + '');
if(idx_del != i){
deleteArr.push(i);
}
else{
temp_arr.splice(i, 1, "");
}
}
}
deleteArr.reverse();
deleteArr.forEach(function(item){
$('li.' + item.toString()).remove();
temp_arr.splice(item, 1, "");
});
});
}
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_words = $('#history li').length;
$('#words-block h3 span').text(col_words);
let col_phrases = $('#phrases li').length;
$('#phrases-block h3 span').text(col_phrases);
})
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
// Return words
$('#history').on('close.bs.alert', '.alert', function(){
cache_output = $('#output li');
cache_words = $('#history li');
cache_phrases = $('#phrases li');
let text = $(this).text().substring(0, $(this).text().length - 1);
let arrPhrases = $('#phrases .alert[key*="trnsf"]');
let arrHistory = $('#history .alert');
let start_arr = $('#inputData').val().split('\n');
start_arr = start_arr.filter(onlyUnique);
arrPhrases.each((idx, el)=>{
start_arr.splice(+$(el).attr('key').split(' ')[0], 1, "");
});
$.each(arrHistory, (index, item) => {
let searchWord = $(item).text().substring(0, $(item).text().length-1);
if (searchWord != text){
let re = new RegExp('(\\s|^)+' + searchWord + '+(\\s|$)', 'gm');
$.each(start_arr, (index, elem) => {
if(elem.search(re) != -1){
start_arr.splice(index, 1, "")
}
})
}
})
let check_arr = [];
$('#output li').each((idx, el) =>{
if ($(el).find('.close input[type="checkbox"]').is(':checked')){
// console.log($(el).attr('class').split(' '));
check_arr.push($(el).attr('class').split(' ')[2]);
}
});
$('#output').empty();
start_arr.forEach(function(str, index){
if (str != ""){
let link = 'https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=' + str.replace(/\s/g, '+');
let link_translate = 'https://translate.google.com/?hl=ru#en/ru/' + str;
let translate_module = '' + trslt_icon + '';
var line = '' +amz_icon + '' + translate_module + '';
let words = str.split(' ');
words.forEach(elem => {
line += ''+elem+' ' + '';
})
let chk = '';
check_arr.forEach(function(el){
if(el == index.toString()){
chk = ' checked';
}
})
line +=' ' + link_arrow + '
';
$('#output').append(line);
}
});
$('#phrases .alert[keyword="'+text+'"]').remove();
temp_arr = start_arr.slice(0);
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_words = $('#history li').length - 1;
$('#words-block h3 span').text(col_words);
let col_phrases = $('#phrases li').length;
$('#phrases-block h3 span').text(col_phrases);
});
// Return Phrases
$('#phrases').on('close.bs.alert', '.alert', function(){
cache_output = $('#output li');
cache_words = $('#history li');
cache_phrases = $('#phrases li');
let text = $(this).text().substring(0, $(this).text().length - 1);
let idx = $(this).attr('key');
let link = 'https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=' + text.replace(/\s/g, '+');
let link_translate = 'https://translate.google.com/?hl=ru#en/ru/' + text;
let translate_module = '' + trslt_icon + '';
let line = '' + amz_icon + ''+translate_module+'';
text.split(' ').forEach(item => {
line += '' + item + ' ' + '';
})
line += ' ' + link_arrow + '
';
$('#output').append(line);
temp_arr.splice(idx, 1, text);
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_phrases = $('#phrases li').length - 1;
$('#phrases-block h3 span').text(col_phrases);
})
function count(){
let col_output = $('#output li').length;
$('#output-block h3 span').text(col_output);
let col_words = $('#history li').length;
$('#words-block h3 span').text(col_words);
let col_phrases = $('#phrases li').length;
$('#phrases-block h3 span').text(col_phrases);
}
// Copy Output
$('#output-block').on('click', '.btn', function(){
let output_data = $('#output li');
let line = '';
$.each(output_data, (index, item) => {
item = $(item).text().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
line += item + '\r\n';
})
var $temp = $("